package com.sdry.transit.service;


import com.sdry.basic.entity.ContainerStare;
import com.sdry.basic.entity.ContainerStareRecord;
import com.sdry.transit.entity.TransitLoadingDetail;
import com.sdry.transit.entity.TransitOrder;

import java.util.List;

/**
 *@ClassName: TransitOrderService
 *@Description: 中转区生产指令
 *@Author tdd
 *@Date 2020-2-19 15:37:50
 *@version 1.0
 */
public interface TransitOrderService {
	/** 
	 * 根据主键id查询实体
	 * @param id 主键id
	 * @return 实体
	*/
	public TransitOrder queryById(Long id);
	/** 
	 * 条件查询所有
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<TransitOrder> queryAllByMution(TransitOrder param);
	/** 
	 * 条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<TransitOrder> findPageByMution(TransitOrder param);
	/** 
	 * 条件查询记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectCountByMution(TransitOrder param);
	/** 
	 * 插入返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long insert(TransitOrder param);
	/** 
	 * 根据主键更新 返回影响行数
	 * @param param 实体条件
	 * @return 影响行数
	*/
	public Integer update(TransitOrder param);
	/** 
	 * 根据主键拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	*/
	public Integer delete(String ids);

	/**
	 * 添加装车信息
	 * @param containerStareRecords
	 * @param cid 车辆id
	 * @param did 司机id
	 * @param username 登录人
	 * @return
	 */
    Long addTransitLoading(List<ContainerStareRecord> containerStareRecords, Long cid, Long did,String username);

	/**
	 * 添加生产指令（包括明细）
	 * @param param
	 * @param mids 物流ID
	 * @param todnums 数量
	 * @param todSprayingRequirements 喷涂要求
	 * @param todSpecialRequirements 特殊要求
	 * @param urgent 紧急程度
	 * @return
	 */
    Long insertPl(TransitOrder param,Long[] mids,int[] todnums
			,String[] todSprayingRequirements
			,String[] todSpecialRequirements
			,String[] urgent,String[] todremark,String[] todremark1);
}
